home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1980-01-01 | 4.3 KB | 169 lines |
- 1 M=VAL(LEFT$(DATE$,2))
- 2 D=VAL(MID$(DATE$,4,2))
- 3 Y=VAL(RIGHT$(DATE$,4))
- 5 WIDTH "LPT1:",255
- 10 CLS:DIM A(150)
- 11 INPUT "WHAT IS YOUR NAME ";NAM$
- 20 PRINT CHR$(23):PRINT TAB(12)"BIORYTHM FOR ";NAM$:PRINT STRING$(42,"+"):PRINT
- 25 LPRINT CHR$(23):LPRINT TAB(12)"BIORYTHM FOR ";NAM$:LPRINT STRING$(42,"+"):LPRINT
- 30 FOR I=1 TO 12:READ A(I):NEXT I
- 40 FOR I=101 TO 112:READ A(I):NEXT I
- 50 DATA 0,31,59,90,120,151,181,212,243,273,304,334
- 60 DATA 31,28,31,30,31,30,31,31,30,31,30,31
- 70 A(55)=6.28318
- 80 GOTO 150
- 90 X=(V/X-INT(V/X))*A(55)
- 100 Y=SIN(X)
- 110 X=X*57.2958
- 120 Y=(Y*18)+44
- 130 Y=INT(Y)
- 140 RETURN
- 150 A=VAL(LEFT$(DATE$,2))
- 151 B=VAL(MID$(DATE$,4,2))
- 160 C=VAL(RIGHT$(DATE$,4))
- 170 GOSUB 260
- 180 Z=T
- 190 INPUT "enter birthdate - example: 9,4,1947 ";M,D,Y
- 200 E=M:F=D:G=Y
- 210 GOSUB 260
- 220 V=T-Z
- 230 V=ABS(V)
- 240 REM
- 250 GOTO 440
- 260 H=Y-1800
- 270 I=INT(H/4)
- 280 J=INT(I/25)
- 290 L=INT((H+200)/400)
- 300 K=0
- 310 IF I*4<>H GOTO 350
- 320 IF J*100<>H GOTO 350
- 330 IF L*400-200<>H GOTO 350
- 340 K=1
- 350 T=365*H+I-J+L-K
- 360 T=T+A(M)+D-1
- 370 IF M<3 GOTO 390
- 380 T=T+K
- 390 IF INT(H/4)<>H/4 GOTO 420
- 400 IF M>2 GOTO 420
- 410 T=T-1
- 420 N=T-7*INT(T/7)
- 430 RETURN
- 440 PRINT :PRINT
- 450 INPUT "how many days on graph ";O
- 460 CLS
- 470 GOTO 1460
- 480 PRINT "The potential for accidents to occur is greatest when"
- 485 LPRINT "The potential for accidents to occur is greatest when"
- 490 PRINT "one or more of your cycles crosses the center line."
- 495 LPRINT "one or more of your cycles crosses the center line."
- 500 PRINT "Graph symbols:"
- 505 LPRINT "Graph symbols:"
- 510 PRINT " X - Center line"
- 515 LPRINT " X - Center line"
- 520 PRINT " P - Physical cycle"
- 525 LPRINT " P - Physical cycle"
- 530 PRINT " S - Sensitivity cycle (28 days)"
- 535 LPRINT " S - Sensitivity cycle (28 days)"
- 540 PRINT " C - Cognitive cycle (33 days)"
- 545 LPRINT " C - Cognitive cycle (33 days)"
- 550 PRINT
- 560 CLS
- 570 LPRINT "Your birthday is ";:P=E:GOSUB 1070:LPRINT F;G
- 580 LPRINT "You were born on a ";:Q=N+1:GOSUB 1190
- 590 LPRINT ", ";V;" days (";INT((V/365)*100)/100;"years) ago."
- 600 LPRINT
- 610 LPRINT "Here are your biorythm cycles"
- 620 LPRINT "starting at ";:P=A:GOSUB 1070: LPRINT B;C
- 630 LPRINT "and ending at ";
- 640 S=A:R=B+O-1:T=C
- 650 IF S<12 GOTO 670
- 660 S=1:T=T+1:GOTO 700
- 670 IF S<>2 GOTO 700
- 680 IF INT(T/4)<>T/4 THEN 700
- 690 K=1
- 700 IF R<=A(S+100)+K GOTO 730
- 710 R=R-(A(S+100)+K):IF S<>1 THEN S=S+1:K=0
- 720 GOTO 650
- 730 P=S:GOSUB 1070:LPRINT R;T
- 740 CLS
- 750 LPRINT TAB(7);"DATE";TAB(25)"(-)";TAB(43)"(X)";TAB(61)"(+)"
- 760 LPRINT
- 770 U=V+N:U=U-7*INT(U/7):B=B-1:U=U-1:V=V-1:K=0
- 780 FOR I=1 TO O:V=V+1:B=B+1:U=U+1:IF A<>2 THEN 810
- 790 IF INT(C/4)<>C/4 THEN 810
- 800 K=1
- 810 IF B<=A(A+100)+K THEN 830
- 820 A=A+1:B=1
- 830 IF U<7 THEN 850
- 840 U=0
- 850 IF A<=12 THEN 870
- 860 A=1:C=C+1
- 870 IF(A<>E)+(B<>F) THEN 890
- 880 LPRINT TAB(33);"happy ";ABS(C-G);" birthday"
- 890 W=U+1:GOSUB 1380
- 900 LPRINT " ";:A(25)=A:GOSUB 1260:LPRINT B;C;
- 910 IF L$="P" OR L$="A" THEN GOTO 920 ELSE GOTO 930
- 920 X=23 :GOSUB 90:A(30)=Y
- 930 IF L$="S" OR L$="A" GOTO 940 ELSE GOTO 950
- 940 X=28: GOSUB 90:A(35)=Y
- 950 IF L$="C" OR L$="A" GOTO 960 ELSE GOTO 970
- 960 X=33:GOSUB 90:A(40)=Y
- 970 M=0:FOR L=19 TO 66 :LPRINT TAB(L);
- 980 IF A(30)=L THEN LPRINT "P";:GOTO 1030
- 990 IF A(35)=L THEN LPRINT "S";:GOTO 1030
- 1000 IF A(40)=L THEN LPRINT "C";:GOTO 1030
- 1010 IF 44=L THEN LPRINT "X";
- 1020 IF 66=L THEN LPRINT
- 1030 M=M+1:IF M<>4 THEN 1040:L=100
- 1040 NEXT L
- 1050 NEXT I
- 1060 END
- 1070 IF P=1 THEN LPRINT "JANUARY";:RETURN
- 1080 IF P=2 THEN LPRINT "FEBRUARY";:RETURN
- 1090 IF P=3 THEN LPRINT "MARCH";:RETURN
- 1100 IF P=4 THEN LPRINT "APRIL";:RETURN
- 1110 IF P=5 THEN LPRINT "MAY";:RETURN
- 1120 IF P=6 THEN LPRINT "JUNE";:RETURN
- 1130 IF P=7 THEN LPRINT "JUly";:RETURN
- 1140 IF P=8 THEN LPRINT "AUGUST";:RETURN
- 1150 IF P=9 THEN LPRINT "SEPTEMBER";:RETURN
- 1160 IF P=10 THEN LPRINT "OCTOBER";:RETURN
- 1170 IF P=11 THEN LPRINT "NOVEMBER";:RETURN
- 1180 IF P=12 THEN LPRINT "DECEMBER";:RETURN
- 1190 IF Q=1 THEN LPRINT "WEDNESDAY";:RETURN
- 1200 IF Q=2 THEN LPRINT "THURSDAY";:RETURN
- 1210 IF Q=3 THEN LPRINT "FRIDAY";:RETURN
- 1220 IF Q=4 THEN LPRINT "SATURDAY";:RETURN
- 1230 IF Q=5 THEN LPRINT "SUNDAY";:RETURN
- 1240 IF Q=6 THEN LPRINT "MONDAY";:RETURN
- 1250 LPRINT "TUESDAY";:RETURN
- 1260 IF A(25)=1 THEN LPRINT "JAN";:RETURN
- 1270 IF A(25)=2 THEN LPRINT "FEB";:RETURN
- 1280 IF A(25)=3 THEN LPRINT "MAR";:RETURN
- 1290 IF A(25)=4 THEN LPRINT "APR";:RETURN
- 1300 IF A(25)=5 THEN LPRINT "MAY";:RETURN
- 1310 IF A(25)=6 THEN LPRINT "JUN";:RETURN
- 1320 IF A(25)=7 THEN LPRINT "JUL";:RETURN
- 1330 IF A(25)=8 THEN LPRINT "AUG";:RETURN
- 1340 IF A(25)=9 THEN LPRINT "SEP";:RETURN
- 1350 IF A(25)=10 THEN LPRINT "OCT";:RETURN
- 1360 IF A(25)=11 THEN LPRINT "NOV";:RETURN
- 1370 LPRINT "DEC";:RETURN
- 1380 IF W=1 THEN LPRINT "WED";:RETURN
- 1390 IF W=2 THEN LPRINT "THU";:RETURN
- 1400 IF W=3 THEN LPRINT "FRI";:RETURN
- 1410 IF W=4 THEN LPRINT "SAT";:RETURN
- 1420 IF W=5 THEN LPRINT "SUN";:RETURN
- 1430 IF W=6 THEN LPRINT "MON";:RETURN
- 1440 LPRINT "TUE";:RETURN
- 1450 END
- 1460 PRINT "ENTER YOUR GRAPH CHOICE:"
- 1470 PRINT " P - PHYSICAL CYCLE ONLY"
- 1480 PRINT " C - COGNITAVE CYCLE ONLY"
- 1490 PRINT " S - SENSITIVITY CYCLE ONLY"
- 1500 PRINT " A - ALL CYCLES"
- 1510 PRINT
- 1520 INPUT "ENTER YOUR CHOICE (P,C,S, OR A) ";L$
- 1530 IF L$<>"P" AND L$<>"S" AND L$<>"C" AND L$<>"A" GOTO 1520
- 1540 CLS:GOTO 480
-